Displaying A Feed Of Content In A Social Networking System

ABSTRACT

A social networking system provides a content feed to a client device associated with the user of a social networking system, the content feed including a plurality of content items. The social networking system identifies a read section and an unread section of the content feed. The social networking system receives a request for a subsequent content feed from a client device associated with the user. The social networking system identifies new content items that are associated with users of the social networking system. The social networking system generates a current content segment that includes the new content items and the unread section of the content feed, and generates the subsequent content feed by inserting the current content segment before or after the read section of the content feed. The social networking system provides a portion of the subsequent content feed to the client device.

BACKGROUND

This disclosure relates generally to social networking systems, and inparticular to ways of incorporating content items into new contentfeeds.

Social networking systems allow users to connect to and communicate withother users of the social networking systems. Users create profiles on asocial networking system that are tied to their identities and includeinformation about the users, such as interests and demographicinformation. The users may be individuals or entities such ascorporations or charities. Because of the increasing popularity ofsocial networking systems and the significant amount of user-specificinformation maintained by social networking systems, a social networkingsystem allows users to easily communicate information about themselvesto other users. For example, the social networking system generatesstories describing actions performed by social networking system usersand presents the stories to other social networking system users.However, not all stories delivered to a device associated with a userare actually presented to the user. Additionally, this missed contentmay have more value to the user than other more current stories insubsequent content feeds. Moreover, current systems generally add newstories at the top of a feed and a user may not read all the newly addedstores. In subsequent feeds, this can result in a “striped” feed wherenew stories, read stories, and unread stories are interlaced throughoutthe subsequent feed.

SUMMARY

A social networking system generates content feeds including contentitems that are provided to a client device associated with a user forpresentation to that user. However, in some embodiments, not all of thecontent items in the content feed are actually presented to the user.For example, a user may navigate away from the content feed after onlyviewing the first couple content items. The social networking systeminterfaces with the client device to determine what content items werepreviously provided to the client device in a content feed, but notactually viewed by the user. For example, the social networking systemidentifies a read section and an unread section of the content feed. Theread section of the content feed includes one or more read contentitems. The unread section including one or more missed content items inthe previous content feed. A read content item is a content item thatwas presented by a client device and a missed content item is a contentitem, of the plurality of content items, that was part of the contentfeed for the first client device, but was not presented by the firstclient device.

At some later time, a client device associated with the user may requesta new or subsequent content feed, and the client device may be anyclient device associated with the user. The social networking systemidentifies one or more new content items that are associated with usersof the social networking system. A new content item is a content itemthat has not been previously provided as part of a content feed to anyuser device associated with the viewing user. A current content segmentis generated that includes the identified new content items and theunread section of the content feed (e.g., the missed content items).Additionally, in some embodiments, the current content segment mayinclude one or more popular content items. A popular content item is acontent item that was previously presented by the client device to theuser and has an engagement score that has since increased above athreshold value (e.g., has received some number of likes, comments,etc.). The new or subsequent content feed is generated by inserting thecurrent content segment (e.g., new content items) after the read section(e.g., read content items) of the previous content feed. At least aportion of the subsequent content feed is provided to the client device.

Using this arrangement, the new or subsequent content feed can be acontinuous content feed of items the user would like to read (new plusmissed content and/or popular content) following the last content itemread by the user. In other words, it is not a striped content feed with,for example, a layer of new unread content followed by a layer ofpreviously read content followed by a layer of previously missed unreadcontent. Such a striped content feed can result in the user starting atthe top and reading all the way through the layer of new content items,and then hitting a section of content the user has already read suchthat the user believes he has finished all of the unread content. Thisread content stripe in the feed thus creates a barrier to the nextstripe of content that the user missed during the last content feedreceived, which may be content the user would like to see. Thus, insteadof simply providing new content items on top of the prior feed, the feedis organized as described in more detail below such that the new andmissed content section is presented immediately after the last readcontent to provide a continuous feed to the user, removing the need toscroll to the top of the feed and avoiding hitting the read contentbarrier.

In some embodiments, the social networking system may invert the contentfeed before providing it to the client device. An inverted content feedis one where the current content segment is positioned above the readcontent segment of the previous content feed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a system environment in which a socialnetworking system operates, in accordance with an embodiment.

FIG. 2 is a block diagram of a social networking system, in accordancewith an embodiment.

FIG. 3 is a flowchart illustrating a process for generating a continuouscontent feed according to an embodiment.

FIG. 4 illustrates a continuous content according to an embodiment.

The figures depict various embodiments for purposes of illustrationonly. One skilled in the art will readily recognize from the followingdiscussion that alternative embodiments of the structures and methodsillustrated herein may be employed without departing from the principlesof the embodiments described herein.

DETAILED DESCRIPTION System Architecture

FIG. 1 is a high level block diagram of a system environment 100 for asocial networking system 140. The system environment 100 shown by FIG. 1comprises one or more client devices 110, a network 120, one or morethird-party systems 130, and the social networking system 140. Inalternative configurations, different and/or additional components maybe included in the system environment 100. The embodiments describedherein can be adapted to online systems that are not social networkingsystems.

The client devices 110 are one or more computing devices capable ofreceiving user input as well as transmitting and/or receiving data viathe network 120. In one embodiment, a client device 110 is aconventional computer system, such as a desktop or laptop computer.Alternatively, a client device 110 may be a device having computerfunctionality, such as a personal digital assistant (PDA), a mobiletelephone, a smartphone or another suitable device. A client device 110is configured to communicate via the network 120. In one embodiment, aclient device 110 executes an application allowing a user of the clientdevice 110 to interact with the social networking system 140. Forexample, a client device 110 executes a browser application to enableinteraction between the client device 110 and the social networkingsystem 140 via the network 120. In another embodiment, a client device110 interacts with the social networking system 140 through anapplication programming interface (API) running on a native operatingsystem of the client device 110, such as IOS® or ANDROID™.

The client devices 110 are configured to communicate via the network120, which may comprise any combination of local area and/or wide areanetworks, using both wired and/or wireless communication systems. In oneembodiment, the network 120 uses standard communications technologiesand/or protocols. For example, the network 120 includes communicationlinks using technologies such as Ethernet, 802.11, worldwideinteroperability for microwave access (WiMAX), 3G, 4G, code divisionmultiple access (CDMA), digital subscriber line (DSL), etc. Examples ofnetworking protocols used for communicating via the network 120 includemultiprotocol label switching (MPLS), transmission controlprotocol/Internet protocol (TCP/IP), hypertext transport protocol(HTTP), simple mail transfer protocol (SMTP), and file transfer protocol(FTP). Data exchanged over the network 120 may be represented using anysuitable format, such as hypertext markup language (HTML) or extensiblemarkup language (XML). In some embodiments, all or some of thecommunication links of the network 120 may be encrypted using anysuitable technique or techniques.

In some embodiments, a client device 110 includes instructions, such asprogram code, that when executed by the client device 110 communicatesinformation describing what content items of a content feed weredisplayed and/or not displayed to a user via the client device 110. Forexample, the program code is included in an application associated withthe social networking system 140 executing on the client device 110 andcommunicates information describing whether stories in a content feedwere presented to a user of the social networking system 110 via theclient device 110. As described in detail below with respect to FIG. 2,a content item may be a story or an advertisement. Content items thatwere part of the content feed, but not viewed by the user are referredto as missed content items (e.g., an unread story).

A user is considered to have viewed a content item when the content itemis presented by a client device 110. The instructions executed by theclient device 110 determine if a content item was presented to a userbased on interactions with the client device 110. For example, adetermination that the user viewed the content item may be based on apercentage of the content item presented by the client device 110, atime duration that some threshold amount of the content item ispresented by the client device 110, or any other suitable information.

A status of a content item may be new, read, popular, or missed. A newcontent item is a content item that has not been previously presented bythe client device 110, where it is the first time the content item hasbeen provided in a content feed for the user. A read content item is acontent item that has been presented by the client device 110. A popularcontent item is a content item that was previously presented by theclient device 110 and has an engagement score that has since increasedabove a threshold value. And a missed content item is a content itemthat was part of a previous content feed, but was not viewed by the user(i.e., deemed to have not been presented by the client device 110). Insome instances a content item may be referred to as being unread, anunread content item is a content item that has a status of new, popular,or missed.

In some embodiments, the client device 110 tracks statuses associatedwith content items in received content feeds via, e.g., an applicationassociated with the social networking system 140. The client device 110may store the tracked statuses in, for example, a status log. The statuslog is a database that tracks the most recent status of the content itemin a content feed received from the social networking system 140. Inembodiments, where a status associated with a content item is already inthe status log, the client device 110 may remove or reposition a contentitem in a content feed if the status of the content item does not matchthe status of the content item in the status log. Additionally, in someembodiments, the content feed may include a time stamp associated with astatus of a content item. The client device 110 may then compare thetime stamp associated with the status of the received content item tothe time stamp associated with the status of the content item in statuslog, and may adjust the status of the content item to be the statusassociated with the most recent time stamp. Thus, the client device 110is able to ensure that the content items are presented to the user inthe appropriate manner (e.g., a read content item is not presented as anew content item). In other embodiments, the client device 110 simplycollects information and sends it to the social networking system 140for tracking of status of content items (e.g., with status tracker 230of FIG. 2).

In some embodiments, the client device 110 may receive instructions fromthe social networking system 140 that cause the client device 110 toemphasize content items that have not been presented by the clientdevice 110. The client device 110 may emphasize a content item by, e.g.,adding a vertical bar to one side of the content item being displayed,highlighting a boarder of the content item, oversizing the content item,some other indicator that differentiates the content item from othercontent items that have previously been presented by the client device110, or some combination thereof. Once the content items have beenpresented, the client device 110 stops emphasizing the content item. Forexample, the client device 110 may emphasize a new content item in acontent feed (e.g., by including a vertical bar to the left of the newcontent item). Once the client device 110 determines that the newcontent item has been presented (e.g., content item was presented for atime period exceeding a threshold value) the client device 110 removesthe emphasis of the new content item (e.g., vertical bar fades away) andthe status associated with the new content item changes from new toread.

One or more third party systems 130 may be coupled to the network 120for communicating with the social networking system 140, which isfurther described below in conjunction with FIG. 2. In one embodiment, athird party system 130 is an application provider communicatinginformation describing applications for execution by a client device 110or communicating data to client devices 110 for use by an applicationexecuting on the client device. In other embodiments, a third partysystem 130 provides content or other information for presentation via aclient device 110. A third party system 130 may also communicateinformation to the social networking system 140, such as advertisements,content, or information about an application provided by the third partysystem 130.

FIG. 2 is an example block diagram of an architecture of the socialnetworking system 140. The social networking system 140 shown in FIG. 2includes a user profile store 205, a content store 210, an action logger215, an action log 220, an edge store 225, a status tracker 230, acontent item manager 235, a scoring module 240, a continuous feedmanager 245, and a web server 250. In other embodiments, the socialnetworking system 140 may include additional, fewer, or differentcomponents for various applications. Conventional components such asnetwork interfaces, security functions, load balancers, failoverservers, management and network operations consoles, and the like arenot shown so as to not obscure the details of the system architecture.

Each user of the social networking system 140 is associated with a userprofile, which is stored in the user profile store 205. A user profileincludes declarative information about the user that was explicitlyshared by the user and may also include profile information inferred bythe social networking system 140. In one embodiment, a user profileincludes multiple data fields, each describing one or more attributes ofthe corresponding user of the social networking system 140. Examples ofinformation stored in a user profile include biographic, demographic,and other types of descriptive information, such as work experience,educational history, gender, hobbies or preferences, location and thelike. A user profile may also store other information provided by theuser, for example, images or videos. In certain embodiments, images ofusers may be tagged with identification information of users of thesocial networking system 140 displayed in an image. A user profile inthe user profile store 205 may also maintain references to actions bythe corresponding user performed on content items in the content store210 and stored in the action log 220.

While user profiles in the user profile store 205 are frequentlyassociated with individuals, allowing individuals to interact with eachother via the social networking system 140, user profiles may also bestored for entities such as businesses or organizations. This allows anentity to establish a presence on the social networking system 140 forconnecting and exchanging content with other social networking systemusers. The entity may post information about itself, about its productsor provide other information to users of the social networking systemusing a brand page associated with the entity's user profile. Otherusers of the social networking system may connect to the brand page toreceive information posted to the brand page or to receive informationfrom the brand page. A user profile associated with the brand page mayinclude information about the entity itself, providing users withbackground or informational data about the entity.

The content store 210 stores objects that each represent various typesof content. Examples of content represented by an object include a pagepost, a status update, a photograph, a video, a link, a shared contentitem, a gaming application achievement, a check-in event at a localbusiness, a brand page, or any other type of content. Social networkingsystem users may create objects stored by the content store 210, such asstatus updates, photos tagged by users to be associated with otherobjects in the social networking system, events, groups or applications.In some embodiments, objects are received from third-party applicationsor third-party applications separate from the social networking system140. In one embodiment, objects in the content store 210 representsingle pieces of content, or content “items.” Hence, users of the socialnetworking system 140 are encouraged to communicate with each other byposting text and content items of various types of media through variouscommunication channels. This increases the amount of interaction ofusers with each other and increases the frequency with which usersinteract within the social networking system 140. Additionally, thecontent store 210 may store missed content items.

One or more advertisement requests (“ad requests”) are included in thecontent store 210. An advertisement request includes advertisementcontent and a bid amount. The advertisement content is text, image,audio, video, or any other suitable data presented to a user. In variousembodiments, the advertisement content also includes a landing pagespecifying a network address to which a user is directed when theadvertisement is accessed. The bid amount is associated with anadvertisement by an advertiser and is used to determine an expectedvalue, such as monetary compensation, provided by an advertiser to thesocial networking system 140 if the advertisement is presented to auser, if the advertisement receives a user interaction, or based on anyother suitable condition. For example, the bid amount specifies amonetary amount that the social networking system 140 receives from theadvertiser if the advertisement is displayed and the expected value isdetermined by multiplying the bid amount by a probability of theadvertisement being accessed.

Additionally, an advertisement request may include one or more targetingcriteria specified by the advertiser. Targeting criteria included in anadvertisement request specify one or more characteristics of userseligible to be presented with content in the advertisement request. Forexample, targeting criteria are a filter to apply to fields of a userprofile, edges, and/or actions associated with a user to identify usershaving user profile information, edges or actions satisfying at leastone of the targeting criteria. Hence, the targeting criteria allow anadvertiser to identify groups of users matching specific targetingcriteria, simplifying subsequent distribution of content to groups ofusers.

In one embodiment, the targeting criteria may specify actions or typesof connections between a user and another user or object of the socialnetworking system 140. The targeting criteria may also specifyinteractions between a user and objects performed external to the socialnetworking system 140, such as on a third party system 130. For example,the targeting criteria identifies users that have taken a particularaction, such as sending a message to another user, using an application,joining a group, leaving a group, joining an event, generating an eventdescription, purchasing or reviewing a product or service using anonline marketplace, requesting information from a third-party system130, or any other suitable action. Including actions in the targetingcriteria allows advertisers to further refine users eligible to bepresented with content from an advertisement request. As anotherexample, targeting criteria may identify users having a connection toanother user or object or having a particular type of connection toanother user or object.

The content store 210 maintains a record of previous content feedsselected for and/or presented to users of the social networking system140. A content feed is a feed including one or more content items. Acontent feed may be, e.g., a news feed. The record identifies whatportions of a previously presented feed were read, i.e., part of a readsection, and also identifies what portions of the previously presentedcontent feed were unread, i.e., part of an unread section. In otherembodiments, one or more other modules maintain a record of the previouscontent feeds presented the users of the social networking system 140.

The action logger 215 receives communications about user actionsinternal to and/or external to the social networking system 140,populating the action log 220 with information about user actions.Examples of actions include adding a connection to another user, sendinga message to another user, uploading an image, reading a message fromanother user, viewing content associated with another user, attending anevent posted by another user, among others. In addition, a number ofactions may involve an object and one or more particular users, so theseactions are associated with those users as well and stored in the actionlog 220.

The action log 220 may be used by the social networking system 140 totrack user actions on the social networking system 140, as well asactions on third party systems 130 that communicate information to thesocial networking system 140. Users may interact with various objects onthe social networking system 140, and information describing theseinteractions are stored in the action log 210. Examples of interactionswith objects include: commenting on posts, sharing links, andchecking-in to physical locations via a mobile device, accessing contentitems, and any other interactions. Additional examples of interactionswith objects on the social networking system 140 that are included inthe action log 220 include: commenting on a photo album, communicatingwith a user, establishing a connection with an object, joining an eventto a calendar, joining a group, creating an event, authorizing anapplication, using an application, expressing a preference for an object(“liking” the object) and engaging in a transaction. Additionally, theaction log 220 may record a user's interactions with advertisements onthe social networking system 140 as well as with other applicationsoperating on the social networking system 140. In some embodiments, datafrom the action log 220 is used to infer interests or preferences of auser, augmenting the interests included in the user's user profile andallowing a more complete understanding of user preferences.

The action log 220 may also store user actions taken on a third partysystem 130, such as an external website, and communicated to the socialnetworking system 140. For example, an e-commerce website that primarilysells sporting equipment at bargain prices may recognize a user of asocial networking system 140 through a social plug-in enabling thee-commerce website to identify the user of the social networking system140. Because users of the social networking system 140 are uniquelyidentifiable, e-commerce websites, such as this sporting equipmentretailer, may communicate information about a user's actions outside ofthe social networking system 140 to the social networking system 140 forassociation with the user. Hence, the action log 220 may recordinformation about actions users perform on a third party system 130,including webpage viewing histories, advertisements that were engaged,purchases made, and other patterns from shopping and buying.

In one embodiment, an edge store 225 stores information describingconnections between users and other objects on the social networkingsystem 140 as edges. Some edges may be defined by users, allowing usersto specify their relationships with other users. For example, users maygenerate edges with other users that parallel the users' real-liferelationships, such as friends, co-workers, partners, and so forth.Other edges are generated when users interact with objects in the socialnetworking system 140, such as expressing interest in a page on thesocial networking system, sharing a link with other users of the socialnetworking system 140, and commenting on posts made by other users ofthe social networking system 140.

In one embodiment, an edge may include various features eachrepresenting characteristics of interactions between users, interactionsbetween users and object, or interactions between objects. For example,features included in an edge describe rate of interaction between twousers, how recently two users have interacted with each other, the rateor amount of information retrieved by one user about an object, or thenumber and types of comments posted by a user about an object. Thefeatures may also represent information describing a particular objector user. For example, a feature may represent the level of interest thata user has in a particular topic, the rate at which the user logs intothe social networking system 140, or information describing demographicinformation about a user. Each feature may be associated with a sourceobject or user, a target object or user, and a feature value. A featuremay be specified as an expression based on values describing the sourceobject or user, the target object or user, or interactions between thesource object or user and target object or user; hence, an edge may berepresented as one or more feature expressions.

The edge store 225 also stores information about edges, such as affinityscores for objects, interests, and other users. Affinity scores, or“affinities,” may be computed by the social networking system 140 overtime to approximate a user's affinity for an object, interest, and otherusers in the social networking system 140 based on the actions performedby the user. A user's affinity may be computed by the social networkingsystem 140 over time to approximate a user's affinity for an object,interest, and other users in the social networking system 140 based onthe actions performed by the user. Computation of affinity is furtherdescribed in U.S. patent application Ser. No. 12/978,265, filed on Dec.23, 2010, U.S. patent application Ser. No. 13/690,254, filed on Nov. 30,2012, U.S. patent application Ser. No. 13/689,969, filed on Nov. 30,2012, and U.S. patent application Ser. No. 13/690,088, filed on Nov. 30,2012, each of which is hereby incorporated by reference in its entirety.Multiple interactions between a user and a specific object may be storedas a single edge in the edge store 225, in one embodiment.Alternatively, each interaction between a user and a specific object isstored as a separate edge. In some embodiments, connections betweenusers may be stored in the user profile store 205, or the user profilestore 205 may access the edge store 225 to determine connections betweenusers.

The status tracker 230 tracks statuses associated with content items. Asdiscussed above, a status of a content item may be new, read, popular,or missed. The status tracker 230 associates statuses with contentitems, and updates the statuses based on information received from theclient device 110. The status tracker 230 tracks the statuses of contentitems that are associated with content feeds that have been, will be,are being, or some combination thereof, presented to users of the socialnetworking system 140. In some embodiments, the status tracker 230 usesinformation received from the client devices 110 describing what contentitems of a content feed were presented and/or not presented via theclient devices 110 to identify statuses of content items. The statustracker 230 updates the status associated with the content items usingthis information. For example, the information may indicate that a newcontent item was presented to the user, the status tracker 230 thenupdates the status of the new content item from new to read.Additionally, in some embodiments, the status tracker 230 includes atime stamp associated with the status of content items in the contentfeed.

For a content feed selected for and/or presented to a user, the statustracker 230 identifies a read section and an unread section of thecontent feed. The read section is a portion of the content feed that hasbeen presented by the client device 110 to the user. The read sectionincludes one or more read content items that are in a particular order(e.g., ordered by time read using time stamps associated with each readcontent item). The unread section is the remaining portion of thecontent feed. The unread section includes one or more missed contentitems. In some embodiments, the unread section may also include one ormore popular content items. Note, in a feed actively being presented bythe client device 110, the unread section corresponds to a currentcontent segment (discussed below). If a content item in the unreadsection is presented to the user, the status tracker 230 removes thecontent item from the unread section and places it in the read section,or the status tracker 230 otherwise marks the content item or changesthe marking/status from unread (i.e., a status of new, missed, orpopular) to read.

The content item manager 235 receives requests for content feeds fromclient devices 110. A request may be received from any client device 110that is associated with a user of the social networking system 140.Additionally, after providing a content feed to a requesting clientdevice 110, the client device 110 (or some other client device 110associated with the user) may request another content feed (a subsequentcontent feed) from the social networking system 140. For example, theuser may log off of the social networking system 140 and log back on ata later time, or the user might simply navigate away a web pagedisplaying the feed or move to another application from the socialnetworking application displaying the feed. As another example, the usermay refresh the page or select a link to update the feed or to get newstories.

The content item manager 235 identifies new content items likely to beof interest to users of a social networking system that have requestedcontent feeds. A content item may be a story or an advertisement. Astory describes an action taken by an additional user connected to theuser and identifies the additional user. In some embodiments, a storydescribing an action performed by a user may be accessible to users notconnected to the user that performed the action. The content itemmanager 235 may generate new stories for presentation to a user based oninformation in the action log 220 and in edge store 225 or may selectcandidate stories included in content store 210. For example, thecontent item manager 235 receives a request to present one or morecontent items to a social networking system user. The content itemmanager 235 accesses one or more of the user profile store 105, thecontent store 110, the action log 120, and the edge store 130 toretrieve information about the identified user. For example, new and/orunread stories or other new and/or unread data associated with usersconnected to the identified user are retrieved. The retrieved stories,advertisements, other data, or some combination thereof is analyzed bythe content item manager 235 to identify content likely to be relevantto the identified user. For example, stories associated with users notconnected to the identified user or stories associated with users forwhich the identified user has less than a threshold affinity arediscarded as candidate content items. Based on various criteria, thecontent item manager 235 selects one or more of the candidate contentitems for presentation to the identified user in a content feed as newcontent items. Selection of content items for a content feed is furtherdiscussed in U.S. Pat. No. 7,827,208, filed on Aug. 11, 2006, U.S. Pat.No. 8,402,094, filed on Aug. 11, 2006, U.S. Pat. No. 8,171,128, filed onAug. 11, 2006, U.S. Pat. No. 7,669,123, filed on Aug. 11, 2006, U.S.Pat. No. 8,700,636, filed on Sep. 16, 2010, U.S. Pat. No. 8,521,787,filed on Oct. 11, 2010, and U.S. application Ser. No. 13/194,773, filedon Jul. 29, 2011, each of which is hereby incorporated by reference inits entirety.

The content item manager 235 may also account for actions by a userindicating a preference for types of stories and selects stories havingthe same, or similar, types for inclusion in the content feed.Additionally, content item manager 235 may analyze stories received bysocial networking system 120 from various users and obtains informationabout user preferences or actions from the analyzed stories. Thisinformation may be used to refine subsequent selection of stories forcontent feeds presented to various users.

The content feed may include a limited number of content items or mayinclude a complete set of candidate content items. The number of contentitems for inclusion in a content feed may be determined in part by auser preference included in user profile store 205. The content itemmanager 235 provides the selected content items to the scoring module240.

The scoring module 240 generates engagement scores for each of theselected new content items and for the content items in the unreadsection of the previous content feed. Additionally, in some embodiments,the scoring module 240 generates engagement scores for one or more readcontent items in the read section of the previous content feed. Anengagement score measures a predicted level of interaction the userwould have with a content item. In some embodiments, the engagementscore is the sum of, for each action a user can take on a content item,the product of the probability of the user taking the action and a valueof the user taking the action. The value of the user taking the actionmay be determined from, e.g., likes associated with the content item,comments associated with the content item, forwards or shares of thecontent item, postings of the content item, interactions of usersconnected to the user with the content item, status of the content item,or some combination thereof. For example, in some embodiments, theengagement score ES for a content item may be calculated by

ES|_(i)=EV·VV  (1)

Where EV is an engagement vector for each action, e.g., EV=[eCTR_(Like),eCTR_(share), . . . eCTR_(n)], “eCTR” is the estimated click throughrate, “n” is an index referring to the eCTR of a particular action, andVV is a value vector indicating values for the user taking particularactions, e.g., VV=[2_(Like), 5_(share), . . . X_(n)], and “i” is anindex referring to a particular content item. The values in the valuevector for different actions may be adjusted by the social networkingsystem 140, may differ from user to user, change for a particular userover time, etc.

The engagement scores may be based on information retrieved from theuser profile store 205, the content store 210, the action log 220,and/or the edge store 225. For example, an engagement score may be basedon affinities between the user and an object or between the user andanother user associated with various content items. Additionally, prioractions associated with the user and associated with content itemspreviously presented to the user may be used to determine the expectedamount of user interaction with the content items to be presented. Inone embodiment, user interactions with content items presented within aspecified time interval are retrieved from the action log 220 and usedto determine the engagement score for one or more content items.

In some embodiments, where the content item is an advertisement, whengenerating an engagement score associated with the advertisement, thescoring module 240 accounts for a bid amount associated with theadvertisement as well as an expected amount of user interaction with theadvertisements. In one embodiment, the scoring module 240 applies aconversion factor to the expected amount of user interaction and the bidamount to convert the expected amount of user interaction and the bidamount to a common unit of measurement. The score associated with theadvertisement is generated by combining the expected amount of userinteraction and the bid amount after application of the conversionfactor. For example, the conversion factor is applied to the bid amountassociated with an advertisement, and the bid amount after applicationof the conversion factor is combined with the expected amount of userinteraction with the advertisement to generate the score associated withthe advertisement. Combining a bid amount with an expected amount ofuser interaction is further described in U.S. patent application Ser.No. 13/545,266, filed on Jul. 10, 2012, which is hereby incorporated byreference in its entirety.

Additionally, in some embodiments, the scoring module 240 determinesthat a user has a highest affinity for a specific user and increases thenumber of stories in the content feed associated with the specific useror modifies the positions in the content feed where stories associatedwith the specific user are presented. Additional actions performed byusers with higher affinities may receive higher engagement scores.Determining affinity between objects in a social networking system 108is further described in U.S. application Ser. No. 12/978,265, filed onDec. 23, 2010, which is incorporated by reference herein in itsentirety. The scoring module 240 provides the scored new content itemsand/or popular content items to the continuous feed manager 245.

As mentioned above, in some embodiments, the scoring module 240 alsogenerates new engagement scores for each of the read content items inthe read section of the previous content feed. In some embodiments, anengagement score of a read content item may increase above a thresholdvalue, causing the status tracker 230 to change the status associatedwith the content item from read to popular. For example, connections tothe user in the social networking system 140 may have liked, reposted,etc., a read content item, thereby increasing its associated engagementscore. Thus, the engagement score for the read content item may changeover time, and if the engagement score increases over a threshold valuethe status tracker 230 may change the status of the content item topopular which the continuous feed manager 245 may then use in thegeneration of the current content segment. In this case, the user isprovided a content item that has already been read a second time givenits importance or engagement score.

The continuous feed manager 245 generates current content segments usingthe new content items, popular content items, and unread sections ofcontent feeds based in part on their respective engagement scores. Acurrent content segment is a portion of a content feed that representsinformation new to the user or having engagement scores that have sinceincreased above some threshold value. The current content segment mayinclude, e.g., new content items, popular content items, missed contentitems, or some combination thereof. For a given user, the socialnetworking system 140 identifies any missed content items for inclusionin the current content segment by incorporating an unread section of thelast content feed provided to a client device 110 associated with theuser. The social networking system identifies new content items and/orpopular content items using the scored content items provided by thescoring module 240.

To generate a current content segment, the continuous feed manager 245determines an order for the new content items, the content items fromthe unread section of the previous content feed, the popular contentitems, or some combination thereof. The continuous feed manager 245determines the order of the content items using the status of thecontent items and their respective engagements scores. In someembodiments, the continuous feed manager 245 may also use positiondiscount values (as described below) in the determination of the orderof content items.

In some embodiments, the continuous feed manager 245 identifies the newcontent items and ranks the identified new content items by theirengagement scores. The continuous feed manager 245 places the ranked newcontent items at the top of the current content segment (i.e., would bepresented first in the content feed). The continuous feed manager 245then places the remaining content items (i.e., popular content itemsand/or content items in the unread section of the previous content feed)by their engagement scores and places them immediately after the lastnew content item in the current content segment. These remaining contentitems may be placed according to a previous scoring done when generatingthe last content feed, or they may be re-scored and presented accordingto the updated scoring. In some embodiments, the social networkingsystem 140 may weight the engagement scores of the new content itemsand/or the content items in the unread section such that a new contentitem always has an engagement score that is higher than the contentitems in the unread section.

In alternate embodiments, the current content section is such that thecontent items in the unread section may be ranked higher than one ormore new content items. In these embodiments, the continuous feedmanager 245 ranks both the new content items and the content items inthe unread section by their respective engagement score. Again, priorscores can be used in this ranking for the missed content or the missedcontent items can be re-scored. For example, the continuous feed manager245 may rank the new content items and the content items from highest tolowest engagement score. The content item with the highest engagementscore would be places at the top of the current content section, and thecontent item with the lowest engagement score would be placed at thebottom of the current content section.

In some embodiments, the continuous feed manager 245 applies a positiondiscount value to an engagement score associated with a content item inthe current content segment based on a position in the interface inwhich content associated with the application is presented. A positiondiscount value reflects a predicted decrease in user interaction withthe content item based on a position in the interface in which thecontent item is presented. For example, the continuous feed manager 245may apply position discount values to the engagement scores for each ofthe content items in the current content segment. In one example, theposition discount value is based on a location within the interface inwhich the content item is presented relative to positions in theinterface in which other content items are presented. Alternatively, theposition discount value is based on a position in which a content itemis presented relative to a reference position in the interface. Theposition discount value associated with a position may be based at leastin part on a distance between the position and a reference position inthe interface. In a content feed, there are a number of positions inwhich each content item can be placed. The first content item in thefeed is the most likely to be interacted with by a viewing user, andeach position thereafter is discounted by a certain amount that reflectsa discount in likelihood of interaction with a content item due to itsbeing in a less favorable position. Users often view only the first fewstories in the feed and the farther down a story is, the less likely itis to be viewed. In some embodiments, the position discount valueassociated with each position in the feed is a known value determined inadvance by the social networking system and is applicable across variousfeeds. Determining a position discount value associated with a positionis further described in U.S. patent application Ser. No. 14/049,429,filed on Oct. 9, 2013, which is hereby incorporated by reference in itsentirety.

The continuous feed manager 245 generates content feeds using currentcontent segments and read sections of previous content feeds. In someembodiments, the continuous feed manager 245 generates a content feed byinserting a current content segment associated with a requesting userafter the read section of the previous content feed for that user. Insome embodiments, the continuous feed manager 245 may generateinstructions for the client devices 110 that cause client devices 110 topresent a content item at the top of the current content segment (e.g.,highest ranking content item) first to the user. Thus a user couldscroll down in the content feed to see lower ranked content items whichare either have statuses of new, unread, or missed. Alternatively, theuser may scroll upward toward read content items that have beenpreviously presented to the user. In other embodiments, the continuousfeed manager 245 may generate instructions for the client device 110that cause client device 110 to present the read content item that mostrecently became a read content item first to the user.

In alternate embodiments, the continuous feed manager 245 may invert thecontent feed before providing it to the client device 110. An invertedcontent feed is one where the current content segment is positionedabove the read content segment of the previous content feed. In theseembodiments, content items in the current content segment and the readsection of the previous content feed are inverted. Accordingly, thehighest ranking content item in the current content segment is at thebottom of the current content segment, and the most recent content itemin the read section is at the top of the read section. In this case, auser would scroll upward to get to content items associated with thecurrent content segment, and would scroll downward to get to contentitems in the read section.

In some embodiments, the continuous feed manager 245 may generateinstructions for the client devices 110 that cause client devices 110 toemphasize content items that are part of the current content segment(e.g., a new content item, a missed content item, and/or an popularcontent item). The instructions cause the client devices 110 toemphasize content items that that are part of the current contentsegment by, e.g., adding a vertical bar to one side of the content itembeing displayed, highlighting the boarder of the content item,oversizing the content item, some other indicator that differentiatesthe content item from other content items that have previously beenpresented by the client device, or some combination thereof. Once thecontent items have been presented, the instructions cause the clientdevices 110 to stop emphasizing the content items.

The web server 250 links the social networking system 140 via thenetwork 120 to the one or more client devices 110, as well as to the oneor more third party systems 130. The web server 250 serves web pages, aswell as other web-related content, such as JAVA®, FLASH®, XML and soforth. The web server 250 may provide content feeds to the client device110. The web server 250 may receive and route messages between thesocial networking system 140 and the client device 110, for example,instant messages, queued messages (e.g., email), text messages, shortmessage service (SMS) messages, or messages sent using any othersuitable messaging technique. A user may send a request to the webserver 250 to upload information (e.g., images or videos) that arestored in the content store 210. Additionally, the web server 250 mayprovide application programming interface (API) functionality to senddata directly to native client device operating systems, such as IOS®,ANDROID™, WEBOS® or RIM®.

Generating a Continuous Content Feed

FIG. 3 is a flowchart illustrating a process for generating a continuouscontent feed according to an embodiment. In one embodiment, the processof FIG. 3 is performed by the social networking system 140. However, inother embodiments, other entities may perform some or all of the stepsof the process. Likewise, embodiments may include different and/oradditional steps, or perform the steps in different orders.

The social networking system 140 retrieves 310 a previous content feedthat was last provided to a client device 110 associated with a viewinguser of a social networking system 140. The social networking system 140retrieves the previous content feed from the content store 210. In otherembodiments, the social networking system retrieves the previous contentfeed from one or more other modules. The previous content feed includesa read section and an unread section. The read section is the portion ofthe previous content feed that includes content items that the viewinguser read (i.e., the content items have a read status). The contentitems in the read section are ordered by time stamp—and the ordercorresponds to the order in which they were presented to the user. Theunread section is the remaining portion of the content feed whichincludes content items that have not been read by the user (i.e., thecontent items have a missed status).

The social networking system 140 identifies 320 new content items forpresentation to the user in a content feed. The social networking system140 identifies and retrieves new content items that are likely berelevant to the identified user. The social networking system 140 mayconsider connections to the user, user preferences for stories,targeting information for advertisements, etc., in identifying newcontent items. Additionally, in some embodiments, the social networkingsystem 140 may generate new content items based on based on informationin the action log 220 and in edge store 225 or may select candidatestories included in content store 210.

The social networking system 140 generates 330 a current content segmentusing the new content items, the unread section of the previous contentfeed, popular content items, or some combination thereof. The socialnetworking system 140 generates engagement scores associated with thenew content items and/or the content items in the unread section of theprevious content feed. For example, the social networking system 140 maydetermine value vectors and engagement vectors for the new content itemsand the content items in the unread section, and then determine theengagement scores for the new content items and the content items in theunread section using equation (1) described above. Additionally, in someembodiments, one or more of the engagement scores may be modified byposition discount values. The social networking system 140 thengenerates the current content section using the scored content items.

In some embodiments, the social networking system 140 also generatesengagements scores for the content items in the read section of theprevious content feed. If an engagement score of a read content itemincreases above a threshold value (e.g., may be caused by a certainnumber of comments, likes, etc.), the social networking system 140changes the status associated with the content item from read to unread.The social networking system 140 would then include the popular contentitems in the generation of the current content section.

In some embodiments, the current content section is such that the newcontent items are ranked higher (presented before) than the contentitems coming from the unread section of the previous content feed and/orthe popular content items. In these embodiments, the social networkingsystem 140 ranks the new content items in accordance with theirrespective engagement score. The social networking system 140 then ranksthe content items in the unread section and/or popular content items inaccordance with their respective engagement scores, and the rankedcontent items are then placed below the lowest ranked new content item.Alternatively, the social networking system 140 may weight theengagement scores of the new content items and/or the content items inthe unread section and the popular content items such that a new contentitem always has an engagement score that is higher than the contentitems in the unread section and any popular content items.

In alternate embodiments, the current content section is such that thecontent items in the unread section and/or an popular content item maybe ranked higher than one or more new content items. In theseembodiments, the social networking system 140 ranks the new contentitems, the content items in the unread section, and any popular contentitems, by their respective engagement score. If, for example, a contentitem in the unread section has a higher engagement score than a newcontent item, the content item would be ranked higher than the newcontent item.

The social networking system 140 generates 340 a content feed byinserting the current content segment after the read section of theprevious content feed. The highest ranked content item in the currentcontent segment would immediately follow the most recent content itemthat was presented to the viewing user (i.e., the most recent contentitem to be associated with a read status). Accordingly, the content feedis composed of a read portion that has a fixed order corresponding tothe order in which the read content items were presented to the viewinguser, followed by the current content segment.

The social networking system 140 provides 350 a portion of the contentfeed to a user device associated with the viewing user. In someembodiments, the portion of the content feed is configured such that thehighest ranking content item in the current content segment is presentedfirst to the user. Alternatively, the portion of the content feed isconfigured such that the most recent read content item is presentedfirst to the user. A portion may be some or all of the content feed. Forexample, the portion may include one or more read content items that areimmediately above the current content segment as well as one or moresubsequent content items from the current content segment.

Note that the generated content feed is a continuous content feed. Acontinuous content feed is a content feed that is not a striped feed. Astriped feed is a feed where new content items, read content items, andpopular content items are interlaced throughout the content feed. Incontrast, a continuous feed groups all of the read content itemstogether and places other content items (e.g., new, unread, missed) in agroup either above or below the grouping of read content items. As theuser scrolls down through the content items, the client device 110fetches additional portions of the content feed from the socialnetworking system 140 such that the user is presented with a continuousfeed. Note that as the user continues to scroll downward into contentitems associated with the current content segment, the presentedportions of the content feed all have not been presented to the user.Accordingly, the user is able to scroll through a continuous feed ofcontent that has not been previously presented to them. This structureof the content feed prevents striping (i.e., read content itemsintermixed with new, unread, and missed content items) as there are onlytwo basic sections of the content feed: (1) a read section; and (2) thecurrent content segment.

Similarly, as the user scrolls up through the content items, the clientdevice 110 fetches additional portions of the content feed from thesocial networking system 140. For example, as the user scrolls up in theportion of the content feed toward read content items, the client device110 fetches additional portions of the content feed from the socialnetworking system 140 such that the user is able to scroll throughpreviously read content items. In some embodiments, the user is able toscroll back to a first content item read by the user. In otherembodiments, the social networking system 140 may have dropped readcontent items that are older than a threshold time value (e.g., 1 weekold, 1 month old, etc.), and the user is able to scroll back throughread content items that are more recent than the time threshold value.

In alternate embodiments (not shown), the social networking system 140may invert the content feed such that the current content segment ispositioned above the read content segment of the previous content feed.In these embodiments, content items in the current content segment andthe read section of the previous content feed are inverted. Accordingly,the highest ranking content item in the current content segment is atthe bottom of the current content feed, and the most recent content itemin the read section is at the top of the read section. In this case, auser would scroll upward to get to content items associated with thecurrent content segment, and would scroll downward to get to contentitems in the read section.

FIG. 4 illustrates a continuous content feed 400 according to anembodiment. The content feed 400 includes an active portion 410 of thecontent feed 400 that is being displayed by a client device 110, and atop virtual portion 420 and a bottom virtual portion 430 of the contentfeed 400 that may include content items that are not being displayed bythe client device 110. Content items in the top virtual portion 420and/or the bottom virtual portion 430 are content items stored on theclient device 110 and/or content items that may be retrieved from thesocial networking system 140. The content feed 400 includes a readsection 440 and a current content segment 450. The read section 440includes content items which have a read status and were part of aprevious content feed. For example, the read section 440 includes acontent item 460 that has a read status (i.e., is a read content item).The content item 460 is the last content item presented to the user inthe previous content feed. The current content segment 450 includescontent items with statuses of new, popular, missed, or some combinationthereof. In FIG. 4, the active portion 410 is presenting two contentitems 470, 480 that are part of the current content segment 450. Theclient device 110 is emphasizing the content items 470, 480 using ahighlighted border. Once the client device 110 determines that contentitems 470, 480 have been presented to the user, the client device 110stops emphasizing the content items 470, 480 (e.g., the highlightedboarder fades away such that it has the same boarder as a read contentitem). Additionally, one a content item has been determined to have beenpresented to the user, the client device 110 changes a status of acontent item to read and notifies the social networking system 140 ofthe change in status of the content item.

As a user scrolls through the content feed 400, content items in theactive portion 410 may be moved into the top virtual portion 420, andcontent items in the bottom virtual portion 430 may be moved into theactive portion 410, or vice versa, depending on whether the user isscrolling up or down. Note, as the user scrolls up/down through thecontent items, the client device 110, fetches additional portions of thecontent feed from the social networking system 140 such that the user ispresented with a continuous feed.

SUMMARY

The foregoing description of the embodiments has been presented for thepurpose of illustration; it is not intended to be exhaustive or to limitthe embodiments to the precise forms disclosed. Persons skilled in therelevant art can appreciate that many modifications and variations arepossible in light of the above disclosure.

Some portions of this description describe the embodiments of thedisclosure in terms of algorithms and symbolic representations ofoperations on information. These algorithmic descriptions andrepresentations are commonly used by those skilled in the dataprocessing arts to convey the substance of their work effectively toothers skilled in the art. These operations, while describedfunctionally, computationally, or logically, are understood to beimplemented by computer programs or equivalent electrical circuits,microcode, or the like. Furthermore, it has also proven convenient attimes, to refer to these arrangements of operations as modules, withoutloss of generality. The described operations and their associatedmodules may be embodied in software, firmware, hardware, or anycombinations thereof.

Any of the steps, operations, or processes described herein may beperformed or implemented with one or more hardware or software modules,alone or in combination with other devices. In one embodiment, asoftware module is implemented with a computer program productcomprising a computer-readable medium containing computer program code,which can be executed by a computer processor for performing any or allof the steps, operations, or processes described.

Embodiments may also relate to an apparatus for performing theoperations herein. This apparatus may be specially constructed for therequired purposes, and/or it may comprise a general-purpose computingdevice selectively activated or reconfigured by a computer programstored in the computer. Such a computer program may be stored in anon-transitory, tangible computer readable storage medium, or any typeof media suitable for storing electronic instructions, which may becoupled to a computer system bus. Furthermore, any computing systemsreferred to in the specification may include a single processor or maybe architectures employing multiple processor designs for increasedcomputing capability.

Embodiments may also relate to a product that is produced by a computingprocess described herein. Such a product may comprise informationresulting from a computing process, where the information is stored on anon-transitory, tangible computer readable storage medium and mayinclude any embodiment of a computer program product or other datacombination described herein.

Finally, the language used in the specification has been principallyselected for readability and instructional purposes, and it may not havebeen selected to delineate or circumscribe the inventive subject matter.It is therefore intended that the scope of the disclosure be limited notby this detailed description, but rather by any claims that issue on anapplication based hereon. Accordingly, the disclosure of the embodimentsis intended to be illustrative, but not limiting, of the scope of theembodiments, which is set forth in the following claims.

What is claimed is:
 1. A method comprising: providing a content feed toa first client device associated with a user of a social networkingsystem, the content feed including a plurality of content items that areassociated with users of the social networking system; identifying aread section and an unread section of the content feed, the read sectionincluding one or more read content items, and the unread sectionincluding one or more missed content items in the content feed, whereina read content item is a content item, of the plurality of contentitems, that was presented by the first client device and a missedcontent item is a content item, of the plurality of content items, thatwas part of the content feed for the first client device, but was notpresented by the first client device; receiving a request for asubsequent content feed from a second client device associated with theuser, identifying one or more new content items that are associated withusers of the social networking system, wherein a new content item is acontent item that has not been previously provided as part of a contentfeed to any user device associated with the viewing user; generating acurrent content segment that includes the one or more new content itemsand the unread section of the content feed; generating the subsequentcontent feed by inserting the current content segment after the readsection of the content feed; and providing a portion of the subsequentcontent feed to the second client device.
 2. The method of claim 1,wherein generating the current content segment that includes the one ormore new content items and the unread section of the content feed,comprises: generating engagement scores for the one or more new contentitems and for the one or more missed content items, the engagementscores measuring predicted levels of interaction the user would havewith the corresponding content items; ranking the one or more newcontent items from highest engagement score to lowest engagement score;ranking the one or more missed content items in the unread section fromhighest engagement score to lowest engagement score; and assembling thecurrent content segment by placing the ranked one or more new contentitems above the ranked one or more missed content items.
 3. The methodof claim 1, wherein generating the current content segment that includesthe one or more new content items and the unread section of the contentfeed, comprises: generating engagement scores for the one or more newcontent items and for the one or more missed content items, theengagement scores measuring predicted levels of interaction the userwould have with the corresponding content items; ranking the one or morenew content items and the one or more missed content items from highestengagement score to lowest engagement score; and assembling the rankedone or more new content items and the one or more missed content itemsin the unread section into the current content segment, and at least oneof the one or more missed content items is above a new content item inthe current content segment.
 4. The method of claim 1, whereingenerating the current content segment that includes the one or more newcontent items and the unread section of the content feed, comprises:generating engagement scores for the one or more new content items andfor the one or more missed content items, the engagement scoresmeasuring predicted levels of interaction the user would have with thecorresponding content items; weighting the engagement scores for the oneor more new content items such that they are higher than the engagementscores for the one or more missed content items; ranking the one or morenew content items and the one or more missed content items from highestengagement score to lowest engagement score; and assembling the rankedone or more new content items and the one or more missed content itemsin the unread section into the current content segment.
 5. The method ofclaim 1, wherein the portion of the subsequent content feed includes aread content item that was the last content item presented in thecontent feed and a highest ranking content item in the current contentsegment, and the portion of the subsequent content feed is configuredsuch that the second client device presents the highest ranking contentitem in the current content segment first to the user, and the highestranking content item is directly below the read content item in theportion of the subsequent content feed.
 6. The method of claim 1,wherein the portion of the subsequent content feed includes a readcontent item that was the last content item presented in the contentfeed and a highest ranking content item in the current content segment,and the portion of the subsequent content feed is configured such thatthe second client device presents the read content item first to theuser, and the highest ranking content item in the current contentsegment is directly below the read content item, and another readcontent item is above the read content item.
 7. The method of claim 1,wherein the first client device and the second client device are thesame client device.
 8. A method comprising: providing a content feed toa first client device associated with a user of a social networkingsystem, the content feed including a plurality of content items that areassociated with users of the social networking system; identifying aread section and an unread section of the content feed, the read sectionincluding one or more read content items, and the unread sectionincluding one or more missed content items in the content feed, whereina read content item is a content item, of the plurality of contentitems, that was presented by the first client device and a missedcontent item is a content item, of the plurality of content items, thatwas part of the content feed for the first client device, but was notpresented by the first client device; receiving a request for asubsequent content feed from a second client device associated with theuser; identifying one or more new content items that are associated withusers of the social networking system, wherein a new content item is acontent item that has not been previously provided as part of a contentfeed to any user device associated with the viewing user; generating acurrent content segment that includes the one or more new content itemsand the unread section of the content feed; generating the subsequentcontent feed by inserting the current content segment above the readsection of the content feed; and providing a portion of the subsequentcontent feed to the second client device.
 9. The method of claim 8,wherein generating the current content segment that includes the one ormore new content items and the unread section of the content feed,comprises: generating engagement scores for the one or more new contentitems and for the one or more missed content items, the engagementscores measuring predicted levels of interaction the user would havewith the corresponding content items; ranking the one or more newcontent items from lowest engagement score to highest engagement score;ranking the one or more missed content items in the unread section fromlowest engagement score to highest engagement score; and assembling thecurrent content segment by placing the ranked one or more new contentitems below the ranked one or more missed content items.
 10. The methodof claim 8, wherein generating the current content segment that includesthe one or more new content items and the unread section of the contentfeed, comprises: generating engagement scores for the one or more newcontent items and for the one or more missed content items, theengagement scores measuring predicted levels of interaction the userwould have with the corresponding content items; ranking the one or morenew content items and the one or more missed content items from lowestengagement score to highest engagement score; and assembling the rankedone or more new content items and the one or more missed content itemsin the unread section into the current content segment, and at least oneof the one or more missed content items is below a new content item inthe current content segment.
 11. The method of claim 8, whereingenerating the current content segment that includes the one or more newcontent items and the unread section of the content feed, comprises:generating engagement scores for the one or more new content items andfor the one or more missed content items, the engagement scoresmeasuring predicted levels of interaction the user would have with thecorresponding content items; weighting the engagement scores for the oneor more new content items such that they are higher than the engagementscores for the one or more missed content items; ranking the one or morenew content items and the one or more missed content items from lowestengagement score to highest engagement score; and assembling the rankedone or more new content items and the one or more missed content itemsinto the current content segment.
 12. The method of claim 8, wherein theportion of the subsequent content feed includes a read content item thatwas the last content item presented in the content feed and a highestranking content item in the current content segment, and the portion ofthe subsequent content feed is configured such that the second clientdevice presents the highest ranking content item in the current contentsegment first to the user, and the highest ranking content item isdirectly above the read content item in the portion of the subsequentcontent feed.
 13. The method of claim 1, wherein the portion of thesubsequent content feed includes a read content item that was the lastcontent item presented in the content feed and a highest ranking contentitem in the current content segment, and the portion of the subsequentcontent feed is configured such that the second client device presentsthe read content item first to the user, and the highest ranking contentitem in the current content segment is directly above the read contentitem, and another read content item is below the read content item. 14.The method of claim 1, wherein the first client device and the secondclient device are the same client device.
 15. A non-transitorycomputer-readable storage medium having instructions encoded thereonthat, when executed by a processor, cause the processor to: providing acontent feed to a first client device associated with a user of a socialnetworking system, the content feed including a plurality of contentitems that are associated with users of the social networking system;identifying a read section and an unread section of the content feed,the read section including one or more read content items, and theunread section including one or more missed content items in the contentfeed, wherein a read content item is a content item, of the plurality ofcontent items, that was presented by the first client device and amissed content item is a content item, of the plurality of contentitems, that was part of the content feed for the first client device,but was not presented by the first client device; receiving a requestfor a subsequent content feed from a second client device associatedwith the user, identifying one or more new content items that areassociated with users of the social networking system, wherein a newcontent item is a content item that has not been previously provided aspart of a content feed to any user device associated with the viewinguser; generating a current content segment that includes the one or morenew content items and the unread section of the content feed; generatingthe subsequent content feed by inserting the current content segmentafter the read section of the content feed; and providing a portion ofthe subsequent content feed to the second client device.
 16. Thenon-transitory computer-readable storage medium of claim 15, whereingenerating the current content segment that includes the one or more newcontent items and the unread section of the content feed, comprises:generating engagement scores for the one or more new content items andfor the one or more missed content items, the engagement scoresmeasuring predicted levels of interaction the user would have with thecorresponding content items; ranking the one or more new content itemsfrom highest engagement score to lowest engagement score; ranking theone or more missed content items in the unread section from highestengagement score to lowest engagement score; and assembling the currentcontent segment by placing the ranked one or more new content itemsabove the ranked one or more missed content items.
 17. Thenon-transitory computer-readable storage medium of claim 15, whereingenerating the current content segment that includes the one or more newcontent items and the unread section of the content feed, comprises:generating engagement scores for the one or more new content items andfor the one or more missed content items, the engagement scoresmeasuring predicted levels of interaction the user would have with thecorresponding content items; ranking the one or more new content itemsand the one or more missed content items from highest engagement scoreto lowest engagement score; and assembling the ranked one or more newcontent items and the one or more missed content items in the unreadsection into the current content segment, and at least one of the one ormore missed content items is above a new content item in the currentcontent segment.
 18. The non-transitory computer-readable storage mediumof claim 15, wherein generating the current content segment thatincludes the one or more new content items and the unread section of thecontent feed, comprises: generating engagement scores for the one ormore new content items and for the one or more missed content items, theengagement scores measuring predicted levels of interaction the userwould have with the corresponding content items; weighting theengagement scores for the one or more new content items such that theyare higher than the engagement scores for the one or more missed contentitems; ranking the one or more new content items and the one or moremissed content items from highest engagement score to lowest engagementscore; and assembling the ranked one or more new content items and theone or more missed content items in the unread section into the currentcontent segment.
 19. The non-transitory computer-readable storage mediumof claim 15, wherein the portion of the subsequent content feed includesa read content item that was the last content item presented in thecontent feed and a highest ranking content item in the current contentsegment, and the portion of the subsequent content feed is configuredsuch that the second client device presents the highest ranking contentitem in the current content segment first to the user, and the highestranking content item is directly below the read content item in theportion of the subsequent content feed.
 20. The non-transitorycomputer-readable storage medium of claim 15, wherein the portion of thesubsequent content feed includes a read content item that was the lastcontent item presented in the content feed and a highest ranking contentitem in the current content segment, and the portion of the subsequentcontent feed is configured such that the second client device presentsthe read content item first to the user, and the highest ranking contentitem in the current content segment is directly below the read contentitem, and another read content item is above the read content item.